Szenario
Studenten belegen Kurse. Geschäftsregeln:
- Ein Student kann mehrere Kurse belegen.
- Ein Kurs kann von mehreren Studenten belegt werden.
- Jede Belegung hat eine Note und ein Datum.
Es liegt also eine m:n-Beziehung mit Beziehungsattributen vor.
1Chen-Notation (ERM)
Chen-Regel: Die Raute „belegt“ modelliert die Beziehung.
Beziehungsattribute (Note, Datum) werden als Ovale an die Raute gehängt.
Die Kardinalität steht als m bzw. n an den Verbindungslinien.
Eine Hilfstabelle wird im konzeptionellen Diagramm nicht gezeichnet.
2Crow’s Foot – konzeptionell
Wichtige Korrektur gegenüber der alten Vorlage:
Konzeptionell wird m:n durch einen Krähenfuß an beiden Enden dargestellt
(„viele zu viele“). Die frühere Schreibweise ||——<<——|| war falsch,
weil || („genau eins“) und Krähenfuß sich am selben Ende widersprechen.
3Crow’s Foot – logisch / Implementierung
Unterstrichen + fett = Primärschlüssel · kursiv + blau = Fremdschlüssel
Implementierung: Die Zwischentabelle „Student_Kurs“ wird explizit
gezeichnet. Sie enthält beide Fremdschlüssel (als zusammengesetzten Primärschlüssel)
plus die Beziehungsattribute Note und Belegungsdatum.
Lesart: Ein Student hat 0..n Belegungen – ein Kurs hat 0..n Belegungen.
4Resultierende SQL-Tabellen
CREATE TABLE Student (
student_id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);
CREATE TABLE Kurs (
kurs_id INT PRIMARY KEY,
titel VARCHAR(100),
credits INT
);
CREATE TABLE Student_Kurs (
student_id INT,
kurs_id INT,
note DECIMAL(2,1),
belegung_datum DATE,
PRIMARY KEY (student_id, kurs_id),
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (kurs_id) REFERENCES Kurs(kurs_id)
);
Zusammenfassung für die IHK-Prüfung
| Chen-Notation | Crow’s Foot |
| m:n als Raute modellieren | Konzeptionell: direkter Krähenfuß an beiden Enden |
| Beziehungsattribute an die Raute | Logisch: Zwischentabelle als eigenes Rechteck |
| Kardinalität als m / n an der Linie | Zwischentabelle = beide FKs + Beziehungsattribute |
| keine Hilfstabelle im Diagramm | FK verweist auf PK der referenzierten Tabelle |